﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SIGEB.Prototipo.control;
using SIGEB.Modelo.moduloEditorial;

namespace SIGEB.Prototipo.Control
{
    public class controlEditorial
    {
        #region "constructores"

        public controlEditorial(controlPrincipal cp)
        {
            this.cp = cp;
        }

        #endregion

        #region "validacion"

        internal bool nombreValido(string nombre)
        {
            return Validacion.LongitudCadenaValida(nombre, true, 100);
        }

        internal bool datosValidosAgregar(string nombre)
        {
            return nombreValido(nombre);
        }

        #endregion

        #region "métodos"

        internal void agregaEditorial(string nombre)
        {
            if (!datosValidosAgregar(nombre))
            {
                throw new Exception("Datos de editorial inválida");
            }
            cp.datos.editoriales.agregareditorial(new editorial(nombre));
        }

        internal void eliminarEditorial(string nombre)
        {
            if (!nombreValido(nombre))
            {
                throw new Exception("id inválido");
            }
            cp.datos.editoriales.eliminareditorial(nombre);
        }

        internal LinkedList<editorial> obtenerEditoriales()
        {
            return cp.datos.editoriales.obtenerTodos();
        }

        #endregion

        #region "atributos"

        controlPrincipal cp;

        #endregion
    }
}
